﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using CasaShowDados;
using System.Configuration;
using System.Data;

namespace IngressoShow {
  public partial class _Default : System.Web.UI.Page {
    protected void Page_Load(object sender, EventArgs e) {

      // Propriedades de formatação.
      tblShow.Border = 1;
      tblShow.CellPadding = 3;
      tblShow.CellSpacing = 3;
      tblShow.BorderColor = "#CDCDCD";
      tblShow.Align = "center";

      // Início do conteúdo da tabela.
      HtmlTableRow row;
      HtmlTableCell cell;

      AcessoBanco.StringConexao = ConfigurationManager.ConnectionStrings["Show"].ConnectionString;
      List<Show> showLista = null;
      DataSet show = new DataSet();
      show = AcessoBanco.ConsultarShow();
      showLista = ConverterTabelaShowEmLista(show.Tables["Table"]);

      if (show.Tables["Table"].Rows.Count != 0) {

        for (int i = 0; i <= showLista.Count - 1; i++) {
          // Cria uma nova linha e adiciona o background
          row = new HtmlTableRow();
          row.BgColor = (i % 2 == 0 ? "lightyellow" : "lightcyan");
          for (int j = 0; j <= 3; j++) {
            //Cria uma célula e adiciona um texto..
            cell = new HtmlTableCell();
            if (j == 0)
              cell.InnerHtml = showLista[i].DataShow.ToShortDateString();
            if (j == 1)
              cell.InnerHtml = showLista[i].NomeArtista;
            if (j == 2)
              cell.InnerHtml = showLista[i].DuracaoShowEmMinutos.ToString() + " Horas";
            if (j == 3)
              cell.InnerHtml = "R$ " + showLista[i].ValorShowEmReais.ToString();
            // Adiciona a celula na tabela.
            row.Cells.Add(cell);
          }
          // Adiciona a linha na tabela.
          tblShow.Rows.Add(row);
        }
      }
      else {
        InfoLbl.Text = "Nenhum Show cadastrado";
        InfoLbl.Visible = true;
      }
      // Adiciona a tabela na página.
      //tblShow.Controls.Add(tblShow);

    }

    private List<Show> ConverterTabelaShowEmLista(DataTable dataTable) {
      List<Show> resultado = null;
      Show u = new Show();
      if (dataTable.Rows.Count > 0) {
        resultado = new List<Show>(dataTable.Rows.Count);
        for (int i = 0; i < dataTable.Rows.Count - 1; i++) {
          //resultado.Add(u);
          resultado[i].Acao = Enumeradores.EnumAcaoXML.Alterar;
          resultado[i].CodigoArtista = Convert.ToInt32(dataTable.Rows[i]["ID_ARTISTA"]);
          resultado[i].NomeArtista = (dataTable.Rows[i]["NM_ARTISTA"]).ToString();
          resultado[i].CodigoShow = Convert.ToInt32(dataTable.Rows[i]["ID_SHOW"]);
          resultado[i].DataShow = Convert.ToDateTime(dataTable.Rows[i]["DT_SHOW"]);
          resultado[i].DuracaoShowEmMinutos = Convert.ToInt32(dataTable.Rows[i]["QT_DURACAO"]);
          resultado[i].ShowDisponivel = Convert.ToBoolean(dataTable.Rows[i]["IC_SHOW_DISPONIVEL"]);
          resultado[i].ValorShowEmReais = Convert.ToDouble(dataTable.Rows[i]["VL_SHOW"]);
        }
      }

      return resultado;
    }
  }
}
